# 递归要有出口，否则会出现死循环
def sum_numbers(num):
    """
    计算1~num的和
    :param num:
    :return:
    """
    if num == 1:
        return 1
    # 计算num-1的和最后在加上num
    # 不断调用sum_numbers方法，知道num=1时一层层向上返回相加的结果
    return num + sum_numbers(num - 1)


print(sum_numbers(100))
